package com.navinfo.platform.common.utils;

/**
 * 通用工具类
 *
 * @author 马驰
 * @modify
 */

public class CommonUtil {

    /**
     * 解析状态位
     * 将报文中二进制报文解码
     *
     * @param num   待解码值
     * @param index 取值位
     * @return 解码后的数值
     */
    public static long getToBinary(long num, int index) {
        return (num & (0x1 << index)) >> index;
    }

    /**
     * 解析告警位
     *
     * @param num
     * @param alarmEnum
     * @return
     */
    public static int toInt(long num, AlarmEnum alarmEnum) {
        return (int) ((num >> alarmEnum.getIndex()) & 1);
    }

    public static void main(String[] args) {
        System.out.println(toInt(78643612345L, AlarmEnum.SPEEDING_ALARM));
        System.out.println(toInt(78643612345L, AlarmEnum.TIRED_ALARM));
    }

}
